The present invention relates to a motor controller and an electric power steering apparatus.
Conventionally, a type of a motor controller has been used which converts direct-current voltage supplied from a direct-current power supply to three-phase (U, V, W) drive power using a PWM (pulse-width modulation) inverter, and supplies the three-phase drive power to a brushless motor.
As shown in FIG. 7, a PWM inventor is configured of three arms 52 in parallel as basic units. Each arm 52 corresponds to one of the phases and includes a pair of switching elements (for example, power MOSFETs) 51a, 51b in series. The motor controller alternately turns on and off the high voltage side switching element 51a and the low voltage side switching element 51b of each arm 52 at a predetermined timing, thereby supplying three-phase drive power to a brushless motor 53.
In such a motor controller, to prevent a short circuit (arm short circuit) between each high voltage side switching element 51a and the corresponding low voltage side switching element 51b, “dead time” is set when the switching elements 51a, 51b are turned on and off, in which “dead time” both switching elements 51a, 51b are off. However, the dead time causes errors to occur between a voltage command value and an output voltage of the PWM inverter. This in turn creates torque ripples, vibrations, and current distortion, which can cause sound noise.
In an electric power steering (EPS) apparatus, a motor, which is a driving source, is controlled through a feedback control based on a deviation of an actual current value from a current command value that is a control target of assisting force (assist torque). When the steering wheel is being turned slowly, that is, when the motor rotates slowly, the torque sensor is likely to pick up current noise. Particularly, during extreme steering, which causes a large current to pass through the PWM inverter, current noise is likely to be produced. Thus, rotation of the motor is influenced by current noise. Accordingly, unstable rotation of the motor significantly increases sound noise and vibration. Therefore, a feedback gain for low speed rotation of the motor is generally set to a small value. As a result, when the motor is rotating at a low speed, the influence of current distortion, which accompanies dead time described above, is likely to appear.
Accordingly, in conventional motor controls including motor controls used in EPS apparatuses, dead time compensation is performed to reduce errors between a voltage command value and an output voltage to suppress the occurrence of current distortion accompanying dead time.
For example, as shown in FIG. 8, a method has been proposed in which a dead time compensation amount β is added to or subtracted from a DUTY instruction value αx. The DUTY instruction value αx is compared with a triangular wave δ, which is a carrier wave, to determine the time of turning on and off the switching elements 51a, 51b. The dead time compensation amount β is set in advance according to the direction of current of the DUTY instruction value αx. See Hidehiko Sugimoto, Facts of Theory and Design of AC Servo Motor Systems, 6th edition, Denshi Shuppansha, August 2002, pp. 56–58.
More specifically, when the direction of a current of X-phase (X=U, V, W, the same applies hereinafter) that corresponds to one of the arms 52 is toward the brushless motor 53 from the arm 52, that is, when the direction of current is “positive” (see FIG. 7), the dead time compensation amount β is added to the DUTY instruction value αx. When the direction of current is toward the arm 52 from the brushless motor 53, that is, when the direction of current is “negative” (see FIG. 7), the dead time compensation amount β is subtracted from the DUTY instruction value αx. This equalizes a time in which the X-phase output voltage Vx becomes the power supply voltage Vb (t3+t4 or t5+t6) in a cycle T of the triangular wave δ with the corresponding time (t1+t2) in a case where no dead time is set (ideal voltage waveform). Thus, the voltage command value is caused to match the output voltage of the PWM inventor, so that current distortion due to dead time is prevented.
In recent years, software servo control performed by a microcomputer is most commonly used for controlling motors in steering systems. In software servo control, the output (renewal) of gate ON/OFF signals for performing a motor control that includes the above described dead time compensation, that is, the output (renewal) of gate ON/OFF signals for turning on and off switching elements of a PWM inverter, is performed in an interrupting manner at every predetermined cycle. That is, as the rotational speed of the motor is increased, the number of rotation of the motor per one output (renewal) of the gate ON/OFF signal is increased, that is, the motor control is made rougher.
Therefore, until the gate ON/OFF signal is renewed, a current zero cross point, which is the time at which the dead time compensation is switched, is displaced. That is, the switching time in the control and the actual switching time are deviated from each other. As a result, the dead time compensation amount β, which should be added to the DUTY instruction value αx, is subtracted from the DUTY instruction value αx in some cases. In other cases, the dead time compensation amount β, which should be subtracted from the DUTY instruction value αx, is added to the DUTY instruction value αx in other cases. In either case, current distortion is increased.